Examine Performance tuning
Distinguish between monitoring, profiling and tuning
Incorporate monitoring, profiling and tuning into the application development life cycle
Define and include performance targets for application testing
Monitor and Evaluate OS Resource Utilization
Use tools to measure and interpret:
CPU utilization
Network utilization
I/O utilization
Memory utilization
Processes
Monitor and Evaluate JVM Performance
Monitor Garbage Collector performance
Monitor the JVM
Measure GC statistics
Measure Java heap usage
Monitor the JIT compiler performance
Profile Java Applications
Examine Java technology application profiling tools
Profile the CPU usage
Profile the heap usage
Use profiling to detect lock contention
Monitor JVM memory usage
Examine Sun studio collector analyzer
Examine the Netbeans profiler
Examine profiling tools bundled with the Java Development Kit (JDK)
Profile a running Java application
Detect lock contention
Tune garbage collectors
Examine the generational garbage collector architecture
Tune collector generation sizes
Select collector characteristics and requirements
Examine coding anti-patterns that impact garbage collection
Optimize the garbage collector for an application
Tune Just in Time (JIT) compilers
Examine and override JVM ergonomics
Tune the JIT compiler
Create micro benchmarks
Tune JIT compiler
Optimize the JIT compiler
Create micro benchmarks
Use 64 bit JVM's
Examine 64 bit JVMs
Optimize a 64 bit JVM for a given application
Optimize the JVM for Multi-core platforms
Examine JVM features that leverage multi-core architectures
Optimize and tune the JVM for various multi-core architectures